<?php	

	class LoginHandler {
		
		private $db;
		private $login = "login";
		private $logout = "logout";
		
		public function __construct(Database $db) {
			$this->db = $db;
		}
		
		public function IsLoggedIn() {		
			//Return true om man är inloggad, annars false.
			if (isset($_SESSION[$this->login])) {
				return true;
			}
			else {
				return false;
			}
		}
		
		public function DoLogin($userName, $passWord) {
							
			//Returnerar true om man lyckas logga in annars false. Startar en session.	
			$selected = $this->db->SelectUser("SELECT Username, Password FROM user where Username = '".$userName."'");
			if (count($selected) > 0) {
				
				if ($userName == $selected['Username'] && $passWord == $selected['Password']) {				
					$_SESSION[$this->login] = 1;
					return true;
				}
				else {
					return false;
				}
			}
			else {
				return false;
			}
		}
		
		public function DoLogout() {		
			//Tar bort sessionen när man loggar ut.
			if (isset($_SESSION[$this->login]))
			unset($_SESSION[$this->login]);
		}
		
		//Tester för de olika funktionerna.
		public function Test() {		
			
			//Ska vara utloggad.
			$this->DoLogout();			
			if ($this->IsLoggedIn() == true) {
				echo "DoLogout fel.";
				return false;
			}
			
			//Fel användarnamn och lösenord.
			if ($this->DoLogin("InteSofia","000") == true || $this->DoLogin("felanvändarnamn","fel") == true) {
				echo "DoLogin fel.";
				return false;
			}
			if ($this->IsLoggedIn() == true) {
				echo "DoLogin fel test2.";
				return false;
			}
			
			//Rätt användarnamn och lösenord.
			if ($this->DoLogin("Sofia","666") == false ) {
				echo "DoLogin test2 fel.";
				return false;
			}
			
			//Ska vara inloggad.
			if ($this->IsLoggedIn() == false) {
				echo "IsLoggedIn fel.";
				return false;
			}
			
			//Testar att logga ut igen.
			$this->DoLogout();
			if ($this->IsLoggedIn() == true) {
				echo "DoLogout test2 fel.";
				return false;
			}
			
			//Rätt användarnamn, fel lösenord.
			if ($this->DoLogin("Sofia","000") == true || $this->DoLogin("Användarnamn","fel") == true) {
				echo "DoLogin test3 fel.";
				return false;
			}
			if ($this->IsLoggedIn() == true) {
				echo "DoLogin test4.";
				return false;
			}
						
			return true;
		}
	}
